package com.asframe.astruts2.beans
{
	import com.asframe.pattern.observer.IObserver;
	import com.asframe.ref.Type;

	public class MediatorBean
	{
		/**  **/
		public var name			:String;	//名称
		/**  **/
		public var clazz		:String;	//mediator类路径
		/**  **/
		public var view			:String;	//显示对象路径
		/**  **/
		public var viewName		:String;	//显示对象名称
		
		/** 类对象 **/
		public var mediatorClass	:Class;
		/** Midiator的类描述信息 **/
		public var mediatorType	:Type;
		/** 感兴趣主题数组 **/
		public var notices			:Array;
		/** 当前Mediator的生成的所有观察者监听的主题，主要用于删除观察者，和observers一一对应 **/
		public var observerNotices	:Array;
		/** 当前Mediator的生成的所有观察者，主要用于删除观察者 **/
		public var observers		:Array;
		/** Mediator实例 **/
		public var mediator			:*;
//		public var type				:Type;
		
		public function MediatorBean()
		{
			observerNotices = [];
			observers = [];
		}
		/**
		 * 存放一个观察者实例 
		 * @param notice
		 * @param observer
		 * 
		 */		
		public function addObserver(notice:*,observer:IObserver):void
		{
			observerNotices.push(notice);
			observers.push(observer);
		}
	}
}
